Skip to content

Commit

Permalink
- Fix build.
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@16578 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adeas31 committed Jul 11, 2013
1 parent 773cccf commit 5a28095
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 25 deletions.
27 changes: 3 additions & 24 deletions SimulationRuntime/c/fmi/FMI1Common.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,33 +32,12 @@
extern "C" {
#endif

#include <stdio.h>
#include <stdlib.h>

#include "fmilib.h"

/*
* Structure used as External Object in the generated Modelica code of the imported FMU.
* Used for FMI 1.0 Model Exchange.
*/
typedef struct {
int FMILogLevel;
jm_callbacks JMCallbacks;
fmi_import_context_t* FMIImportContext;
fmi1_callback_functions_t FMICallbackFunctions;
char* FMIWorkingDirectory;
fmi1_import_t* FMIImportInstance;
char* FMIInstanceName;
int FMIDebugLogging;
int FMIToleranceControlled;
double FMIRelativeTolerance;
fmi1_event_info_t* FMIEventInfo;
} FMI1ModelExchange;
#include "FMI1Common.h"

/*
* Used for logging import messages.
*/
static void importlogger(jm_callbacks* c, jm_string module, jm_log_level_enu_t log_level, jm_string message)
void importlogger(jm_callbacks* c, jm_string module, jm_log_level_enu_t log_level, jm_string message)
{
printf("module = %s, log level = %s: %s\n", module, jm_log_level_to_string(log_level), message);
}
Expand All @@ -67,7 +46,7 @@ static void importlogger(jm_callbacks* c, jm_string module, jm_log_level_enu_t l
* Used for logging FMU messages.
* Logger function used by the FMU internally.
*/
static void fmi1logger(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, ...)
void fmi1logger(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, ...)
{
va_list argp;
va_start(argp, message);
Expand Down
69 changes: 69 additions & 0 deletions SimulationRuntime/c/fmi/FMI1Common.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/*
* This file is part of OpenModelica.
*
* Copyright (c) 1998-CurrentYear, Open Source Modelica Consortium (OSMC),
* c/o Linköpings universitet, Department of Computer and Information Science,
* SE-58183 Linköping, Sweden.
*
* All rights reserved.
*
* THIS PROGRAM IS PROVIDED UNDER THE TERMS OF GPL VERSION 3 LICENSE OR
* THIS OSMC PUBLIC LICENSE (OSMC-PL) VERSION 1.2.
* ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
* OF THE OSMC PUBLIC LICENSE OR THE GPL VERSION 3, ACCORDING TO RECIPIENTS CHOICE.
*
* The OpenModelica software and the Open Source Modelica
* Consortium (OSMC) Public License (OSMC-PL) are obtained
* from OSMC, either from the above address,
* from the URLs: http://www.ida.liu.se/projects/OpenModelica or
* http://www.openmodelica.org, and in the OpenModelica distribution.
* GNU version 3 is obtained from: http://www.gnu.org/copyleft/gpl.html.
*
* This program is distributed WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE, EXCEPT AS EXPRESSLY SET FORTH
* IN THE BY RECIPIENT SELECTED SUBSIDIARY LICENSE CONDITIONS OF OSMC-PL.
*
* See the full OSMC Public License conditions for more details.
*
*/

#ifndef FMI1COMMON__H_
#define FMI1COMMON__H_

#include <stdio.h>
#include <stdlib.h>

#include "fmilib.h"

/*
* Structure used as External Object in the generated Modelica code of the imported FMU.
* Used for FMI 1.0 Model Exchange.
*/
typedef struct {
int FMILogLevel;
jm_callbacks JMCallbacks;
fmi_import_context_t* FMIImportContext;
fmi1_callback_functions_t FMICallbackFunctions;
char* FMIWorkingDirectory;
fmi1_import_t* FMIImportInstance;
char* FMIInstanceName;
int FMIDebugLogging;
int FMIToleranceControlled;
double FMIRelativeTolerance;
fmi1_event_info_t* FMIEventInfo;
} FMI1ModelExchange;

static void importlogger(jm_callbacks* c, jm_string module, jm_log_level_enu_t log_level, jm_string message);
static void fmi1logger(fmi1_component_t c, fmi1_string_t instanceName, fmi1_status_t status, fmi1_string_t category, fmi1_string_t message, ...);
fmi1_value_reference_t* real_to_fmi1_value_reference(int numberOfValueReferences, double* valuesReferences);
void fmi1GetReal_OMC(void* in_fmi1me, int numberOfValueReferences, double* realValuesReferences, double flowStatesInput, double* realValues);
double fmi1SetReal_OMC(void* in_fmi1me, int numberOfValueReferences, double* realValuesReferences, double* realValues);
void fmi1GetInteger_OMC(void* in_fmi1me, int numberOfValueReferences, double* integerValuesReferences, double flowStatesInput, int* integerValues);
double fmi1SetInteger_OMC(void* in_fmi1me, int numberOfValueReferences, double* integerValuesReferences, int* integerValues);
void fmi1GetBoolean_OMC(void* in_fmi1me, int numberOfValueReferences, double* booleanValuesReferences, double flowStatesInput, int* booleanValues);
double fmi1SetBoolean_OMC(void* in_fmi1me, int numberOfValueReferences, double* booleanValuesReferences, int* booleanValues);
void fmi1GetString_OMC(void* in_fmi1me, int numberOfValueReferences, double* stringValuesReferences, double flowStatesInput, char** stringValues);
double fmi1SetString_OMC(void* in_fmi1me, int numberOfValueReferences, double* stringValuesReferences, char** stringValues);

#endif
2 changes: 1 addition & 1 deletion SimulationRuntime/c/fmi/FMI1ModelExchange.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
extern "C" {
#endif

#include "FMI1Common.c"
#include "FMI1Common.h"

void* FMI1ModelExchangeConstructor_OMC(int fmi_log_level, char* working_directory, char* instanceName, int debugLogging)
{
Expand Down

0 comments on commit 5a28095

Please sign in to comment.