12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /* -------------------------------------------------------------------------
- * fmi.h
- * Struct with the corresponding function pointers for FMI 2.0.
- * Copyright QTronic GmbH. All rights reserved.
- * -------------------------------------------------------------------------*/
- #ifndef FMI_H
- #define FMI_H
- #include "fmi2Functions.h"
- typedef struct {
- // ModelDescription* modelDescription;
- void *dllHandle; // fmu.so handle
- /***************************************************
- Common Functions
- ****************************************************/
- fmi2GetTypesPlatformTYPE *getTypesPlatform;
- fmi2GetVersionTYPE *getVersion;
- fmi2SetDebugLoggingTYPE *setDebugLogging;
- fmi2InstantiateTYPE *instantiate;
- fmi2FreeInstanceTYPE *freeInstance;
- fmi2SetupExperimentTYPE *setupExperiment;
- fmi2EnterInitializationModeTYPE *enterInitializationMode;
- fmi2ExitInitializationModeTYPE *exitInitializationMode;
- fmi2TerminateTYPE *terminate;
- fmi2ResetTYPE *reset;
- fmi2GetRealTYPE *getReal;
- fmi2GetIntegerTYPE *getInteger;
- fmi2GetBooleanTYPE *getBoolean;
- fmi2GetStringTYPE *getString;
- fmi2SetRealTYPE *setReal;
- fmi2SetIntegerTYPE *setInteger;
- fmi2SetBooleanTYPE *setBoolean;
- fmi2SetStringTYPE *setString;
- fmi2GetFMUstateTYPE *getFMUstate;
- fmi2SetFMUstateTYPE *setFMUstate;
- fmi2FreeFMUstateTYPE *freeFMUstate;
- fmi2SerializedFMUstateSizeTYPE *serializedFMUstateSize;
- fmi2SerializeFMUstateTYPE *serializeFMUstate;
- fmi2DeSerializeFMUstateTYPE *deSerializeFMUstate;
- fmi2GetDirectionalDerivativeTYPE *getDirectionalDerivative;
- /***************************************************
- Functions for FMI2 for Co-Simulation
- ****************************************************/
- fmi2SetRealInputDerivativesTYPE *setRealInputDerivatives;
- fmi2GetRealOutputDerivativesTYPE *getRealOutputDerivatives;
- fmi2DoStepTYPE *doStep;
- fmi2CancelStepTYPE *cancelStep;
- fmi2GetStatusTYPE *getStatus;
- fmi2GetRealStatusTYPE *getRealStatus;
- fmi2GetIntegerStatusTYPE *getIntegerStatus;
- fmi2GetBooleanStatusTYPE *getBooleanStatus;
- fmi2GetStringStatusTYPE *getStringStatus;
- /***************************************************
- Functions for FMI2 for Model Exchange
- ****************************************************/
- fmi2EnterEventModeTYPE *enterEventMode;
- fmi2NewDiscreteStatesTYPE *newDiscreteStates;
- fmi2EnterContinuousTimeModeTYPE *enterContinuousTimeMode;
- fmi2CompletedIntegratorStepTYPE *completedIntegratorStep;
- fmi2SetTimeTYPE *setTime;
- fmi2SetContinuousStatesTYPE *setContinuousStates;
- fmi2GetDerivativesTYPE *getDerivatives;
- fmi2GetEventIndicatorsTYPE *getEventIndicators;
- fmi2GetContinuousStatesTYPE *getContinuousStates;
- fmi2GetNominalsOfContinuousStatesTYPE *getNominalsOfContinuousStates;
- } FMU;
- #endif // FMI_H
|