FMI Library: part of JModelica.org
fmu1_model_cs.c
Go to the documentation of this file.
1 /*
2 Copyright (C) 2012 Modelon AB
3 
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the BSD style license.
6 
7 the Free Software Foundation, version 3 of the License.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 FMILIB_License.txt file for more details.
13 
14 You should have received a copy of the FMILIB_License.txt file
15 along with this program. If not, contact Modelon AB <http://www.modelon.com>.
16 */
17 
18 #include <string.h>
19 
20 
21 
22 #if __GNUC__ >= 4
23  #pragma GCC visibility push(default)
24 #endif
25 
26 /* Standard FMI 1.0 ME and CS types */
27 #include <FMI1/fmiPlatformTypes.h>
28 #include <FMI1/fmiFunctions.h>
29 
30 #include <fmu_dummy/fmu1_model.h>
31 #include "config_test.h"
32 #define MODEL_IDENTIFIER FMU_DUMMY_CS_MODEL_IDENTIFIER
33 
34 #include "fmu1_model.c"
35 
36 
37 
38 /* FMI 1.0 Common Functions */
39 DllExport const char* fmiGetVersion()
40 {
41  return fmi_get_version();
42 }
43 
44 DllExport fmiStatus fmiSetDebugLogging(fmiComponent c, fmiBoolean loggingOn)
45 {
46  return fmi_set_debug_logging(c, loggingOn);
47 }
48 
49 DllExport fmiStatus fmiGetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[])
50 {
51  return fmi_get_real(c, vr, nvr, value);
52 }
53 
54 DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[])
55 {
56  return fmi_get_integer(c, vr, nvr, value);
57 }
58 
59 DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[])
60 {
61  return fmi_get_boolean(c, vr, nvr, value);
62 }
63 
64 DllExport fmiStatus fmiGetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[])
65 {
66  return fmi_get_string(c, vr, nvr, value);
67 }
68 
69 DllExport fmiStatus fmiSetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[])
70 {
71  return fmi_set_real(c, vr, nvr, value);
72 }
73 
74 DllExport fmiStatus fmiSetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[])
75 {
76  return fmi_set_integer(c, vr, nvr, value);
77 }
78 
79 DllExport fmiStatus fmiSetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[])
80 {
81  return fmi_set_boolean(c, vr, nvr, value);
82 }
83 
84 DllExport fmiStatus fmiSetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[])
85 {
86  return fmi_set_string(c, vr, nvr, value);
87 }
88 
89 /* FMI 1.0 CS Functions */
90 DllExport const char* fmiGetTypesPlatform()
91 {
92  return fmi_get_types_platform();
93 }
94 
95 DllExport fmiComponent fmiInstantiateSlave(fmiString instanceName, fmiString fmuGUID, fmiString fmuLocation, fmiString mimeType, fmiReal timeout, fmiBoolean visible, fmiBoolean interactive, fmiCallbackFunctions functions, fmiBoolean loggingOn)
96 {
97  return fmi_instantiate_slave(instanceName, fmuGUID, fmuLocation, mimeType, timeout, visible, interactive, functions, loggingOn);
98 }
99 
100 DllExport fmiStatus fmiInitializeSlave(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop)
101 {
102  return fmi_initialize_slave(c, tStart, StopTimeDefined, tStop);
103 }
104 
105 DllExport fmiStatus fmiTerminateSlave(fmiComponent c)
106 {
107  return fmi_terminate_slave(c);
108 }
109 
110 DllExport fmiStatus fmiResetSlave(fmiComponent c)
111 {
112  return fmi_reset_slave(c);
113 }
114 
116 {
118 }
119 
120 DllExport fmiStatus fmiSetRealInputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], const fmiReal value[])
121 {
122  return fmi_set_real_input_derivatives(c, vr, nvr, order, value);
123 }
124 
125 DllExport fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], fmiReal value[])
126 {
127  return fmi_get_real_output_derivatives(c, vr, nvr, order, value);
128 }
129 
130 DllExport fmiStatus fmiCancelStep(fmiComponent c)
131 {
132  return fmi_cancel_step(c);
133 }
134 
135 DllExport fmiStatus fmiDoStep(fmiComponent c, fmiReal currentCommunicationPoint, fmiReal communicationStepSize, fmiBoolean newStep)
136 {
137  return fmi_do_step(c, currentCommunicationPoint, communicationStepSize, newStep);
138 }
139 
140 DllExport fmiStatus fmiGetStatus(fmiComponent c, const fmiStatusKind s, fmiStatus* value)
141 {
142  return fmi_get_status(c, s, value);
143 }
144 
145 DllExport fmiStatus fmiGetRealStatus(fmiComponent c, const fmiStatusKind s, fmiReal* value)
146 {
147  return fmi_get_real_status(c, s, value);
148 }
149 
150 DllExport fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger* value)
151 {
152  return fmi_get_integer_status(c, s, value);
153 }
154 
155 DllExport fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean* value)
156 {
157  return fmi_get_boolean_status(c, s, value);
158 }
159 
160 DllExport fmiStatus fmiGetStringStatus(fmiComponent c, const fmiStatusKind s, fmiString* value)
161 {
162  return fmi_get_string_status(c, s, value);
163 }
fmiStatus fmi_cancel_step(fmiComponent c)
Definition: fmu1_model.c:560
fmiComponent fmi_instantiate_slave(fmiString instanceName, fmiString fmuGUID, fmiString fmuLocation, fmiString mimeType, fmiReal timeout, fmiBoolean visible, fmiBoolean interactive, fmiCallbackFunctions functions, fmiBoolean loggingOn)
Definition: fmu1_model.c:480
DllExport void fmiFreeSlaveInstance(fmiComponent c)
DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[])
Definition: fmu1_model_cs.c:54
fmiStatus fmi_set_debug_logging(fmiComponent c, fmiBoolean loggingOn)
Definition: fmu1_model.c:82
size_t jm_callbacks * c
fmiStatus fmi_initialize_slave(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop)
Definition: fmu1_model.c:499
fmiStatus fmi_reset_slave(fmiComponent c)
Definition: fmu1_model.c:522
fmiStatus fmi_get_string(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[])
Definition: fmu1_model.c:141
fmiStatus fmi_set_boolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[])
Definition: fmu1_model.c:189
#define fmiBoolean
Definition: fmi1_types.h:37
fmiStatus fmi_get_real(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[])
Definition: fmu1_model.c:93
fmiStatus fmi_get_status(fmiComponent c, const fmiStatusKind s, fmiStatus *value)
Definition: fmu1_model.c:662
DllExport fmiStatus fmiTerminateSlave(fmiComponent c)
fmiStatus fmi_get_boolean_status(fmiComponent c, const fmiStatusKind s, fmiBoolean *value)
Definition: fmu1_model.c:694
DllExport fmiStatus fmiInitializeSlave(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop)
fmiStatus fmi_set_string(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[])
Definition: fmu1_model.c:203
DllExport fmiStatus fmiGetStatus(fmiComponent c, const fmiStatusKind s, fmiStatus *value)
DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[])
Definition: fmu1_model_cs.c:59
DllExport fmiStatus fmiSetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[])
Definition: fmu1_model_cs.c:79
fmiStatus fmi_set_real_input_derivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], const fmiReal value[])
Definition: fmu1_model.c:532
DllExport fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean *value)
DllExport fmiComponent fmiInstantiateSlave(fmiString instanceName, fmiString fmuGUID, fmiString fmuLocation, fmiString mimeType, fmiReal timeout, fmiBoolean visible, fmiBoolean interactive, fmiCallbackFunctions functions, fmiBoolean loggingOn)
Definition: fmu1_model_cs.c:95
#define fmiString
Definition: fmi1_types.h:38
DllExport fmiStatus fmiGetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[])
Definition: fmu1_model_cs.c:49
DllExport const char * fmiGetTypesPlatform()
Definition: fmu1_model_cs.c:90
#define fmiValueReference
Definition: fmi1_types.h:34
fmiStatus fmi_get_integer(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[])
Definition: fmu1_model.c:113
DllExport fmiStatus fmiSetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[])
Definition: fmu1_model_cs.c:69
#define fmiReal
Definition: fmi1_types.h:35
DllExport fmiStatus fmiGetRealStatus(fmiComponent c, const fmiStatusKind s, fmiReal *value)
const char * fmi_get_version()
Definition: fmu1_model.c:77
DllExport fmiStatus fmiSetDebugLogging(fmiComponent c, fmiBoolean loggingOn)
Definition: fmu1_model_cs.c:44
fmiStatus fmi_get_string_status(fmiComponent c, const fmiStatusKind s, fmiString *value)
Definition: fmu1_model.c:702
DllExport fmiStatus fmiCancelStep(fmiComponent c)
DllExport fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger *value)
fmiStatus fmi_terminate_slave(fmiComponent c)
Definition: fmu1_model.c:517
fmiStatus fmi_get_real_output_derivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], fmiReal value[])
Definition: fmu1_model.c:548
fmiStatus fmi_set_integer(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[])
Definition: fmu1_model.c:175
DllExport fmiStatus fmiSetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[])
Definition: fmu1_model_cs.c:84
#define fmiInteger
Definition: fmi1_types.h:36
DllExport fmiStatus fmiGetStringStatus(fmiComponent c, const fmiStatusKind s, fmiString *value)
fmiStatus fmi_get_integer_status(fmiComponent c, const fmiStatusKind s, fmiInteger *value)
Definition: fmu1_model.c:686
DllExport fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], fmiReal value[])
fmiStatus fmi_get_boolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[])
Definition: fmu1_model.c:127
const char * fmi_get_types_platform()
Definition: fmu1_model.c:475
fmiStatus fmi_get_real_status(fmiComponent c, const fmiStatusKind s, fmiReal *value)
Definition: fmu1_model.c:674
DllExport fmiStatus fmiSetRealInputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], const fmiReal value[])
DllExport fmiStatus fmiGetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[])
Definition: fmu1_model_cs.c:64
DllExport fmiStatus fmiResetSlave(fmiComponent c)
fmiStatus fmi_set_real(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[])
Definition: fmu1_model.c:155
fmiStatusKind
Definition: fmu1_model_me.c:30
fmiStatus fmi_do_step(fmiComponent c, fmiReal currentCommunicationPoint, fmiReal communicationStepSize, fmiBoolean newStep)
Definition: fmu1_model.c:565
DllExport fmiStatus fmiDoStep(fmiComponent c, fmiReal currentCommunicationPoint, fmiReal communicationStepSize, fmiBoolean newStep)
void fmi_free_slave_instance(fmiComponent c)
Definition: fmu1_model.c:527
DllExport fmiStatus fmiSetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[])
Definition: fmu1_model_cs.c:74
#define fmiComponent
Definition: fmi1_types.h:33
DllExport const char * fmiGetVersion()
Definition: fmu1_model_cs.c:39